From 14fbdbd3d383218d144b3bed2d6787bad9f06cd3 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 2 Jul 2009 11:33:43 +0100 Subject: [PATCH] libxc: Fix bugs in xc_exchange_page: pfn_type indexed by gpfn. Signed-off-by: Jiang, Yunhong --- tools/libxc/xc_offline_page.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/libxc/xc_offline_page.c b/tools/libxc/xc_offline_page.c index 892f12cf7f..f25cfbd7c7 100644 --- a/tools/libxc/xc_offline_page.c +++ b/tools/libxc/xc_offline_page.c @@ -583,7 +583,7 @@ int xc_exchange_page(int xc_handle, int domid, xen_pfn_t mfn) /* Don't exchange CR3 for PAE guest in PAE host environment */ if (minfo.guest_width > sizeof(long)) { - if ( (minfo.pfn_type[mfn] & XEN_DOMCTL_PFINFO_LTABTYPE_MASK) == + if ( (minfo.pfn_type[gpfn] & XEN_DOMCTL_PFINFO_LTABTYPE_MASK) == XEN_DOMCTL_PFINFO_L3TAB ) goto failed; } @@ -621,7 +621,7 @@ int xc_exchange_page(int xc_handle, int domid, xen_pfn_t mfn) old_ptes.cur = 0; /* Unpin the page if it is pined */ - if (minfo.pfn_type[mfn] & XEN_DOMCTL_PFINFO_LPINTAB) + if (minfo.pfn_type[gpfn] & XEN_DOMCTL_PFINFO_LPINTAB) { mops.cmd = MMUEXT_UNPIN_TABLE; mops.arg1.mfn = mfn; -- 2.30.2